Genotype
Hint: Although it may look complicated, it's very easy. Just open
'species information window' (see interface
docs) and play with the genotype. You can enter anything and get
immediate preview. Try it!
Organism structure:
X - stick, () - branch
structure is built like a tree, new sticks are joined to the previous
ones' ends
X(X,X) means two sticks from one-stick root
X(X,X,X) means three etc.
X(X,X,) is also possible; X(,X,,,X,,X,,) too etc.
inside parenthesis, the full angle is divided into as many parts as
many comas+2, and each stick in such 'junction' has as much
freedom.
Modificators:
R - stick's rotation (by 45 degrees)
Q - twist (similar to rotation),
L - length,
W - weight,
E - energy,
A - assimilation,
C - curvedness,
F - friction,
M - muscle speed,
S - stamina,
I - ingestion.
Modificators can be placed before X's and ('s. They affect the following X
and, usually less and less, further following Xs. Modificators modify
stick position and its features. Big and small letters can be used;
big letters increase the given feature while small ones decrease it.
Examples:
XXX(XX,X)
X(X,RRX(X,X))
XlCXlCXlCX
Organism control (neuron net of any topology):
Neurons are placed in [], after X's.
Neuron inputs can be taken from different signal sources - other neurons'
outputs or receptors. A neuron input can also have a constant value. Neuron
can control its stick's bend or rotation.
The syntax is: [ control input : weight , input : weight , input...]
control: @ (stick's rotation) or | (stick bend) or nothing (omitted)
input: any number (means input from neuron)
or one of the special neuron inputs:
- * - constant value
- Receptors:
G - gyroscope,
T - touch,
S - smell
- Neuron parameters:
! [exclamaton mark] - force,
= [equals] - inertia,
/ [slash] - sigmoid
(see also Simulation details section)
'weight' is a floating point number, describing connection weight
(for neuron links and receptors) or the parameter value.
Examples:
X[@-1:2,1:3]
means that a stick has one neuron 'in' it. It controls the
stick's rotation (@), and the neuron has two inputs: one
comes from -1 relative position in the genotype, the other
from +1 rel. position. The first 'signal' weight is 2, the
other is 3.
X[|*:1,G:2]
is a stick with one neuron controlling its bend, having two
inputs: one constantly equal 1 and the other connected to a
gyroscope (placed on the stick) weighted 2.
One stick can have many neurons - X[.....][.....][.....]
Example:
XX[|0:1]X[@-1:1.2,1:2.3][G:1]
neuron (1) affects stick's bend
neuron (2) affects stick's rotation
neuron (3): one input: gyroscope